package ec.linde.persistencia.entidades;

// Generated 07-ago-2014 12:54:27 by Hibernate Tools 4.0.0

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * ProdSucursales generated by hbm2java
 */
@Entity
@Table(name = "prod_sucursales", schema = "productividad")
public class ProdSucursales implements java.io.Serializable {

	private int sucuId;
	private ProdSucursales prodSucursales;
	private String sucuDescripcion;
	private Set<ProdSucursales> prodSucursaleses = new HashSet<ProdSucursales>(
			0);
	private Set<SeadUsuarios> seadUsuarioses = new HashSet<SeadUsuarios>(0);

	public ProdSucursales() {
	}

	public ProdSucursales(int sucuId, String sucuDescripcion) {
		this.sucuId = sucuId;
		this.sucuDescripcion = sucuDescripcion;
	}

	public ProdSucursales(int sucuId, ProdSucursales prodSucursales,
			String sucuDescripcion, Set<ProdSucursales> prodSucursaleses,
			Set<SeadUsuarios> seadUsuarioses) {
		this.sucuId = sucuId;
		this.prodSucursales = prodSucursales;
		this.sucuDescripcion = sucuDescripcion;
		this.prodSucursaleses = prodSucursaleses;
		this.seadUsuarioses = seadUsuarioses;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "sucu_id", unique = true, nullable = false)
	public int getSucuId() {
		return this.sucuId;
	}

	public void setSucuId(int sucuId) {
		this.sucuId = sucuId;
	}

	@ManyToOne//(fetch = FetchType.LAZY)
	@JoinColumn(name = "pro_sucu_id")
	public ProdSucursales getProdSucursales() {
		return this.prodSucursales;
	}

	public void setProdSucursales(ProdSucursales prodSucursales) {
		this.prodSucursales = prodSucursales;
	}

	@Column(name = "sucu_descripcion", nullable = false)
	public String getSucuDescripcion() {
		return this.sucuDescripcion;
	}

	public void setSucuDescripcion(String sucuDescripcion) {
		this.sucuDescripcion = sucuDescripcion;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "prodSucursales")
	public Set<ProdSucursales> getProdSucursaleses() {
		return this.prodSucursaleses;
	}

	public void setProdSucursaleses(Set<ProdSucursales> prodSucursaleses) {
		this.prodSucursaleses = prodSucursaleses;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "prodSucursales")
	public Set<SeadUsuarios> getSeadUsuarioses() {
		return this.seadUsuarioses;
	}

	public void setSeadUsuarioses(Set<SeadUsuarios> seadUsuarioses) {
		this.seadUsuarioses = seadUsuarioses;
	}
	
	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object entidad) {
		return (entidad instanceof ProdSucursales) ? getSucuId() == ((ProdSucursales) entidad).getSucuId() : false;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		return getSucuId() > 0 ? getSucuId() : super.hashCode();
	}

}
